package Offer.offer2020;

/**
 * m二进制改变多少位才能得到n
 * 1.m 和 n 异或，则得到的二进制数中位数中为1表示为两个数不同的位数
 * 统计得到的二进制中1的个数
 */
public class Test10b {
    public static void main(String[] args) {
        System.out.println(diffN(10, 13));
    }

    public static int diffN(int m, int n) {
        int temp = m ^ n;
        return getNumberOf1(n);
    }

    public static int getNumberOf1(int n) {
        int count = 0;
        while (n != 0) {
            count++;
            n = n & (n - 1);
        }
        return count;
    }
}
